home *** CD-ROM | disk | FTP | other *** search
- ID:QF QEMM-386 Advanced Troubleshooting
- Quarterdeck Technical Note #113
- by David Riess
- Last Revision: 16 December 1992
-
- YES, this document IS long! PLEASE, Do not be intimidated by the
- length of this document as you will only need a small part of its contents.
-
- PRELIMINARY NOTES
- -----------------
- The reason why you are reading this technical note (technote) on QEMM-386
- advanced troubleshooting is because you are experiencing a problem with the
- functionality of software or hardware on your computer. Since QEMM-386 is
- your memory manager and is the control program for everything that is loaded
- after QEMM-386 you may feel that QEMM-386 is causing the problem that you are
- experiencing. However, most problems are the result of the complex
- combination of multiple TSRs, device drivers and program(s) currently in
- memory trying to run in harmony with the expanded memory manager as well as
- the hardware itself.
- Our strategy is to determine whether QEMM-386 is involved with the
- problem you are experiencing. If it turns out that QEMM-386 is causing a
- problem then we will systematically follow a procedure to remove the problem.
-
- Before we dive into this technote to resolve your problem, please check
- the following list. Detailed technotes have been written to resolve the
- following problems (you will want to obtain the specific technote
- before/instead-of continuing with this technote):
-
- IF YOUR PROBLEMS ARE RELATED TO: TECHNOTE COMPUSERVE QFAX
- ------------------------------- -------- ---------- ----
- Stacker STACKER.TEC STAC2.ZIP 219
- DR-DOS 6 DRDOS6.TEC DRDOS6.ZIP 215
- Microsoft's Windows 3.x WINFLOW.TEC WINFLO.ZIP 207
- an IBM PS/1 PS1.TEC PS1.TEC 234
- an Unrecognized Microchannel Adapter MCA.TEC MCA.TEC 223
- PROTMAN.DOS/.SYS (LAN Manager's driver) LANMAN.TEC LANMAN.TEC 227
- unusual keyboard misbehavior IA.TEC IA.TEC 221
- Pathworks/DECNET DECNET.TEC DECNET.TEC 220
- XGA video XGA.TEC XGA.ZIP 208
- IBM's PC Support for 5250 AS400.TEC AS400.TEC 212
-
- There are five ways to obtain Quarterdeck technotes. Please go to APPENDIX A
- (located on the last page of this technote) if you need information on
- obtaining any of the above technotes.
-
-
- "EXCEPTION 13" ERROR MESSAGES:
- -----------------------------
- If your QEMM-386 error manifests into an Exception #13 error message like:
-
- Exception #13 at 23EE:0103, error code: 0000
- AX=0000 BX=0000 CX=0000 DX=0000 SI=FFFF DI=0000 BP=0000
- DS=23EE ES=23EE SS=23EE SP=FFFE Flags=7246
- Instruction: 8B 04 C3 03 04 FB 58 A1 AC 02 0B C0 75 06 50
- Do you want to (T)erminate the program or (R)eboot?
-
- you will want to obtain the technote EX13FLOW.TEC (CompuServe: EX13FL.ZIP; QFAX
- technote number 232), which is very similar to this technote; however, it
- specifically deals with Exception #13 problems.
-
-
- GETTING STARTED
- ---------------
- This Quarterdeck Technical Note (technote) has been written to help YOU
- troubleshoot and fix most QEMM-386 problems. We have included an example
- scenario for you to follow in order to make this technote as "user-friendly"
- as possible.
- At a minimum this QEMM-386 troubleshooting procedure will take 2
- steps to complete and you will have to skip ahead to different parts of this
- technote depending on the results of previous steps, so PLEASE FOLLOW ALL
- INSTRUCTIONS CAREFULLY.
-
- The Quarterdeck Technical Support Staff handles many QEMM-386 calls
- every day ranging from the simple to the extremely complex. This technote
- follows the same EXACT procedures which our technical support staff uses to
- troubleshoot QEMM-386 problems.
-
- EXAMPLE QEMM-386 PROBLEM SCENARIO: "I've installed QEMM-386 and
- have run the OPTIMIZE program to load my TSRs and device drivers into High
- RAM. I'm running a scanner program from my network drive (drive F:). I get
- into the scanner program without a problem, except every time when I start
- scanning my system crashes."
-
- SCENARIO ASSUMPTIONS: QEMM-386 has been loaded onto the local C: drive
- and QEMM-386 is installed in the C:\QEMM subdirectory.
-
- INSTRUCTIONS: Some of the following steps will have you either edit a
- file or run a program from the DOS prompt. Whenever you see a number followed
- by a right parenthesis, ) , perform the action which follows. Comments
- regarding the action will be followed in brackets, [].
-
-
- (STEP 1)
-
- TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
- -------------------------------------------------------
- The first step is to determine if QEMM-386 is involved with the problem
- that you are experiencing with your program. We will need to reboot your
- system WITHOUT QEMM-386 and try to re-create the problem to determine if QEMM-
- 386 is involved with the problem.
- If QEMM-386 is NOT loaded on your system and the software (or hardware)
- STILL has problems, then QEMM-386 is not involved with the error and you will
- need to consult the documentation or contact the makers of the software (or
- hardware) that is making your system crash.
-
- ??? Does your program need expanded memory in order to operate properly?
- If so, please go to STEP 2 (otherwise proceed with this STEP).
- Proceed with this step if you are uncertain if your program uses
- expanded memory.
-
- We will need to re-boot your computer without QEMM-386 loaded. To
- accomplish this, we DO NOT have to modify any of your startup files
- (CONFIG.SYS or AUTOEXEC.BAT)!
-
- 1) Please re-boot your machine. During the re-boot, your computer will
- BEEP. When you hear the BEEP, immediately hold down on the ALT key (and keep
- it pressed down) until you see the following message on screen:
-
- QEMM386: Press <ESC> to unload QEMM or any other key
- to continue with QEMM...
-
- If you do not see this message, please retry again by rebooting your machine.
- Press the ESCAPE (ESC) key to bypass QEMM-386 and try to re-create the
- problem.
-
- ??? If you do not have enough memory to run your program, go to STEP 2.
-
- ??? If the problem still exists, go to STEP B.
-
- ??? If the problem goes away, go to STEP 2.
-
-
- (STEP 2)
-
- QUICK-FIX TROUBLESHOOTING PARAMETERS FOR QEMM-386
- -------------------------------------------------
- This second step is intended for the advanced QEMM-386 user who is
- familiar and comfortable with editing and adding parameters to the QEMM386.SYS
- line of the CONFIG.SYS file. If you are not familiar with this process, DON'T
- WORRY! Skip ahead to STEP 3 now, where you will be given examples about how
- to edit and add parameters to QEMM-386.
- If the following 3 scenarios do not apply to your QEMM-386 problem or do
- not help RESOLVE the problem, then please go to STEP 3 and remove the
- parameters specified below (depending on the scenario).
-
- Scenario #1: When the problem occurs, do you notice that the video
- graphics or text is altered (blank screen, part of the screen is altered,
- strange lines displayed across the screen, color changes, video-mode switching
- problems)? If so, add the following parameters to the end of the QEMM386.SYS
- line of the CONFIG.SYS file:
-
- X=A000-C7FF NV NVR
-
- Scenario #2: When your program experiences the problem, do you notice
- that the hard disk (or floppy disk or CD-ROM) is being accessed? Add the
- following parameters to the end of the QEMM386.SYS line of the CONFIG.SYS
- file:
-
- X=F000-FFFF X=C800-CFFF DB=4 ROM
-
- (IF you already had the ROM parameter on the QEMM386.SYS line, then remove
- it.) If the scenario #2 parameters help resolve your problem, try removing the
- X=C800-CFFF parameter (however keep the other three parameters) . If the
- problem now occurs, then put back the X=C800-CFFF parameter.
-
- Scenario #3: Are you getting an Exception #12 error message:
-
- Exception #12 at 23EE:0103, error code: 0000
- AX=0000 BX=0000 CX=0000 DX=0000 SI=FFFF DI=0000 BP=0000
- DS=23EE ES=23EE SS=23EE SP=FFFE Flags=7246
- Instruction: 8B 04 C3 03 04 FB 58 A1 AC 02 0B C0 75 06 50
- Do you want to (T)erminate the program or (R)eboot?
-
- Exception #12 error messages are usually caused by a stack overflow in DOS.
-
- Look for the STACKS=x,x command line in your CONFIG.SYS file. If you DO
- NOT see this command line, or you have a STACKS= line that is anything other
- than STACKS=0,0, then add/replace the following line to the CONFIG.SYS file:
-
- STACKS=0,0
-
- otherwise, if you already have a STACKS=0,0 command line, REMark it out
- so that it will not be used by DOS:
-
- REM STACKS=0,0
-
- If the above parameters resolve your problem, you're done! If not,
- please continue with STEP 3.
-
-
- (STEP 3)
-
- DETERMINING THE FREQUENCY OF THE PROBLEM
- ----------------------------------------
-
- Troubleshooting QEMM-386 errors can be quite difficult if the problem
- occurs infrequently. In order to troubleshoot ANY problem, you must be able
- to know how to reproduce the problem on a frequent basis. If you cannot
- reproduce the error frequently, this technote will not be able to help you
- because it's difficult to fix something when you cannot easily tell when the
- problem has actually been resolved.
-
- If the problem occurs every time you run a particular application or you
- have been experiencing the problem at least twice a day with a given
- application, then we can attempt to troubleshoot the problem systematically.
-
- If the problem occurs frequently, please go to STEP 4.
-
- If the problem is NOT frequent (or cannot be reproduced easily), you must
- try to determine a pattern by which you can re-create the error on a frequent
- basis and then proceed with this technote. (When troubleshooting, think of
- your computer as you'd think of your car: if your car makes unusual noises
- every once in a while, you can't expect your automobile mechanic to fix your
- car if he can't re-create the problem!)
-
- PLEASE NOTE: Crashes which occur infrequently are usually hardware-
- related problems. These random crashes usually cannot be resolved by
- reconfiguring or removing QEMM-386.
-
-
- (STEP 4)
-
- DETERMINING YOUR QEMM-386 VERSION
- ---------------------------------
- This step determines which version of QEMM-386 you have and will direct
- you to the troubleshooting technique needed for solving your program's problem
- based on your version of QEMM-386. Enter the following 3 commands at the DOS
- prompt:
-
- 1) C: [go to the QEMM disk-drive ]
- 2) CD\QEMM [go to the QEMM subdirectory ]
- 3) QEMMREG [Determine what version you have ]
-
- Here's an EXAMPLE of what you should see on your screen:
-
- Quarterdeck Expanded Memory Manager 386 V5.13 <----------|
- Copyright (c) 1986-1991 by Quarterdeck Office Systems |
- Serial number: 000-B6-0000-000000 |
- Registered to: Power User |
- ABC COMPUTER USERS |
- Anywhere, CA USA |
- |
- ??? What version of QEMM-386 is installed on your machine: ------|
-
- 5.00 - 5.13
- ---------------
- go to STEP 6.
-
- 6.00 or greater
- ---------------
- go to STEP 5.
-
- ***
- If QEMMREG returns "Bad command or file name", then either you have a very old
- (earlier than 5.00) version of QEMM-386 (in which you should go to STEP 6) or
- you have erased the file QEMMREG.COM from your QEMM directory (in which case
- you should re-install QEMM-386 on your hard disk, then perform STEP 4 again).
- ***
-
-
- (STEP 5)
-
- DETERMINING WHETHER STEALTH IS CAUSING A CONFLICT WITH YOUR SYSTEM
- ------------------------------------------------------------------
- You have QEMM-386 version 6.00 or greater. Quarterdeck has added the
- STEALTH feature into your version of QEMM-386 in order to create up to 83K
- more of High RAM (up to 115K more on PS/2 machines) than versions before 6.00!
- The Stealth feature is invoked with the parameter ST:M or ST:F on the
- "DEVICE=C:\QEMM\QEMM386.SYS ..." line of your CONFIG.SYS file (located in the
- root directory of your bootup drive).
- Your program's problem may be related to the Stealth feature of QEMM-386,
- provided you have invoked Stealth. We will check your CONFIG.SYS file for the
- ST:x parameter to determine the next troubleshooting STEP for you to take.
-
- With a file editor or file viewer, go to the C:\ directory (root
- directory of your bootup drive) and load the CONFIG.SYS file. Search the
- DEVICE=C:\QEMM\QEMM386.SYS line for either ST:M or ST:F.
-
- ??? If the QEMM386.SYS line DOES NOT have a ST:M or ST:F parameter (which
- means you are not using the Stealth feature of QEMM-386), then go to
- STEP 6.
-
- We want to remove all Stealth-related parameters (ST:M, ST:F, XST=,
- XSTI=, DBF=, FSTC, FRAME=) to test whether Stealth is involved with your
- program's problem. Here's an example of removing these parameters:
-
- Original line:
- DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF ST:M XST=C000
- <---delete-->
- Line without Stealth parameters:
- DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF
-
- Use a text editor to edit your CONFIG.SYS file and remove the
- Stealth-related parameter(s), then re-boot your computer and try to re-create
- the problem.
-
- ??? If the problem still exists, please go to STEP 6.
-
- ??? If the problem goes away, then your program's problem is due to a
- conflict with QEMM-386's Stealth feature. The next step for you is to
- leave this technical note and get the technote STEALTH.TEC, which covers
- how to correct problems which only occur with Stealth.
-
- Information on obtaining the STEALTH.TEC technote (CompuServe: STEALT.ZIP
- QFAX number: 205) is provided in Appendix-A at the end of this technote.
-
-
- (STEP 6)
-
- CREATE A CLEAN ENVIRONMENT FOR QEMM-386
- ---------------------------------------
- The problem you are experiencing is caused by either QEMM-386 or by a
- device driver in the CONFIG.SYS file or by a program in the AUTOEXEC.BAT file.
- To determine whether the problem is caused by QEMM-386 or a device driver
- or program in the CONFIG.SYS or AUTOEXEC.BAT, we must create a clean
- environment for QEMM-386. This requires removing ALL lines from the
- CONFIG.SYS and AUTOEXEC.BAT files which do not directly affect the program
- that is experiencing problems.
- First, you need to make back-up copies of your CONFIG.SYS and
- AUTOEXEC.BAT files (which are located in the root directory) because we are
- going to modify these files. To make the back-up copies of these files
- perform the following 4 commands at the DOS prompt:
-
- 1) C:
- 2) CD\
- 3) COPY CONFIG.SYS CONFIG.OLD
- 4) COPY AUTOEXEC.BAT AUTOEXEC.OLD
-
- Now, edit your CONFIG.SYS file so that only the lines that are ABSOLUTELY
- necessary to re-create the problem remain in the CONFIG.SYS file. You need
- the QEMM386.SYS line and the FILES= line as a minimum; delete every other line
- unless it is ABSOLUTELY needed to re-create the problem.
-
- The following is an example CONFIG.SYS file for our example:
-
- #1 DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
- 2 DEVICE=C:\UTIL\CACHE.SYS
- #3 FILES=25
- 4 BUFFERS=30
- #5 DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
- 6 DEVICE=C:\DOS\ANSI.SYS
- 7 DEVICE=C:\FAXING\FAX.SYS
- #8 SHELL=C:\COMMAND.COM /P /E:768
- #9 DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
- 10 STACKS=0,0
-
- The # indicates lines which are ABSOLUTELY necessary to include in the
- CONFIG.SYS file in order to re-create the example problem. Let's see why (you
- may want to look at the QEMM-386 example problem scenario located on the
- second page of this Technote again):
-
- line 1) We NEED the QEMM-386 driver to re-create the problem.
- line 2) A disk cache IS NOT necessary to re-create the problem.
- line 3) We NEED to include the FILES= statement.
- line 4) The BUFFERS statement IS NOT needed.
- line 5) The scanner IS part of our problem.
- line 6) ANSI.SYS IS NOT needed to re-create the problem.
- line 7) The fax board has NOTHING to do with the problem.
- line 8) The SHELL= statement tells DOS where the command processor is.
- line 9) We NEED to log on to the network to run the scanner program.
- line 10) The Stacks statement IS NOT necessary.
-
- (If you are not sure if a line is absolutely necessary in your CONFIG.SYS
- or AUTOEXEC.BAT files, delete it! Users of real-time disk compression
- software products like STACKER or SuperStor should take special care not to
- remove any drivers that may be required to access their compressed drives.
- Please check your compression software documentation before deleting any
- DEVICE line you are unfamiliar with.)
-
- This leaves our CONFIG.SYS with:
-
- DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
- FILES=25
- DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
- SHELL=C:\COMMAND.COM /P /E:768
- DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
-
- Now, since the OPTIMIZE program was executed, some of the device drivers
- have been loaded high and we have to make sure these drivers are loaded low.
- This is because a device driver may behave incorrectly when loaded high, which
- the LOADHI program cannot detect in advance!
-
- Original Line:
- DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
- <------delete--------->
-
- Line without LOADHI reference:
- DEVICE=C:\SCAN\SCANNER.SYS 256
-
- This leaves our CONFIG.SYS with:
-
- DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
- FILES=25
- DEVICE=C:\SCAN\SCANNER.SYS 256
- SHELL=C:\COMMAND.COM /P /E:768
- DEVICE=C:\NETW\NETWORK.SYS
-
- and boost the FILES= to at least 40.
-
- The final CONFIG.SYS looks like:
-
- DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
- FILES=40
- DEVICE=C:\SCAN\SCANNER.SYS 256
- SHELL=C:\COMMAND.COM /P /E:768
- DEVICE=C:\NETW\NETWORK.SYS
-
- (Your CONFIG.SYS may only need the QEMM386.SYS and FILES=40 line. Don't
- worry if your CONFIG.SYS isn't 5 lines long.)
-
- Save the CONFIG.SYS and let's modify your AUTOEXEC.BAT file. The only
- lines which we need to keep are the PROMPT and PATH statements.
-
- The following is an sample AUTOEXEC.BAT file for our example
- troubleshooting scenario:
-
- 1 ECHO OFF
- #2 PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
- 3 C:\QEMM\LOADHI C:\UTIL\FASTKEYB
- #4 PROMPT $P$G
- #5 C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
- 6 SET TEMP=F:\WINDOWS\TEMP
- 7 FAXSETUP 125
-
- The # indicates lines which are absolutely necessary to re-create the
- problem. Here's why:
-
- Line 1) The ECHO statement IS NOT necessary.
- Line 2) We NEED the PATH statement.
- Line 3) Keyboard accelerator IS NOT needed.
- Line 4) Prompt statement is for your convenience.
- Line 5) We NEED to access the network in our example scenario.
- Line 6) This SET statement IS NOT necessary.
- Line 7) The FAX board has NOTHING to do with our problem.
-
- This leaves our AUTOEXEC.BAT as:
-
- PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
- PROMPT $P$G
- C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
-
- Now, since we have run the OPTIMIZE program, some of our device drivers
- have been loaded high and we have to make sure these drivers are loaded low.
- All we have to do is remove the LOADHI from these lines.
-
- Original Line:
- C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
- <----delete------->
-
- New line (without LOADHI reference):
- C:\NETW\LOGIN
-
- This leaves our final AUTOEXEC.BAT with:
-
- PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
- PROMPT $P$G
- C:\NETW\LOGIN
-
- (Your AUTOEXEC.BAT may only need the PATH and PROMPT lines. Don't worry
- that your AUTOEXEC.BAT isn't 3 or more lines long)
-
- Save the AUTOEXEC.BAT file.
- Now reboot your machine and try to re-create the problem.
-
- ??? If the problem still exists, go to STEP 7.
-
- ??? If the problem goes away, go to STEP C.
-
-
- (STEP 7)
-
- MODIFY THE QEMM386.SYS LINE
- ---------------------------
- By modifying the CONFIG.SYS and AUTOEXEC.BAT files in STEP 6, we have
- shown that the problem is caused either by QEMM-386, your program, or a driver
- needed to run your program. Now we will modify your QEMM386.SYS line in the
- CONFIG.SYS file by adding parameters (and possibly removing some of the
- parameters that are already on the line) to avoid possible conflicts involving
- QEMM-386.
-
- Modify the QEMM386.SYS line of your CONFIG.SYS file to look EXACTLY as
- follows:
-
- DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
-
- Be sure that you DO NOT add the 'RAM' parameter to this line!
-
- ??? If you have a version of QEMM greater than 6.00 and are using the
- Stealth parameter (ST:M or ST:F), please DO NOT include the Stealth
- parameter at this time. BUT make a mental note of it, as you will add
- this parameter back to the QEMM386.SYS line in STEP 13. Also, you will
- want to remove any Stealth-related parameters at this time (you may not
- have any of these): XST= , XSTI=, DBF=, FSTC, FRAME=.
-
- If your QEMM386.SYS line previously contained a parameter to EXCLUDE an
- area of memory such as EXCLUDE= or X= or AROM= or ARAM=, then you should also
- add this parameter to the end of the QEMM386.SYS line. DO NOT add any
- INCLUDE= or I= parameters, even if you previously had any! In our example, we
- previously had the AROM=C800-CBFF parameter. Adding this parameter to the
- above DEVICE line will modify the line to:
-
- DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
- AROM=C800-CBFF
- ^
- (Please note that the "AROM=" parameter is NOT on the next line,
- but is on the same line immediately after "DB=4". Many editors
- will allow wrap-around of the same line)
-
- Save the CONFIG.SYS file.
- Now reboot your machine and try to re-create the problem.
-
- ??? If the problem still exists, go to STEP 8.
-
- ??? If the problem goes away, go to STEP 11.
-
-
- (STEP 8)
-
- TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
- -------------------------------------------------------
- By adding/stripping parameters from the QEMM386.SYS line of your
- CONFIG.SYS file, we have eliminated many of the possible conflicts which QEMM-
- 386 may have with your system.
- To determine whether QEMM-386 is solely responsible for your problems, we
- will need to run your software without QEMM-386 loaded. If your program uses
- expanded memory, then another memory manager (such as DOS 5 or Windows EMM386
- driver) MUST be loaded in place of QEMM-386 in order to test whether your
- program doesn't work with QEMM-386 vs. any other expanded memory manager.
-
- ??? Does your program need expanded memory in order to operate properly? If
- so, please go to STEP 9 (otherwise proceed with this STEP).
-
- We will need to re-boot your computer without QEMM-386 loaded. To
- accomplish this, we DO NOT have to remove the QEMM386.SYS line from the
- CONFIG.SYS file!
-
- Please re-boot your machine. During the re-boot, your computer will
- BEEP. When you hear the BEEP, immediately hold down on the ALT key (and keep
- it pressed down) until you see the following message on screen:
-
- QEMM386: Press <ESC> to unload QEMM or any other key
- to continue with QEMM...
-
- If you do not see this message, please retry again by rebooting your
- machine!
-
- Press the ESCAPE (ESC) key to bypass QEMM-386 and try to re-create the
- problem.
-
- ??? If the problem still exists, go to STEP B.
-
- ??? If the problem goes away, go to STEP A.
-
-
- (STEP 9)
-
- USE ANOTHER EXPANDED MEMORY MANAGER INSTEAD OF QEMM-386
- -------------------------------------------------------
- The problem that you're having may be caused by QEMM-386 or any other
- expanded memory manager that is loaded. If your program or device driver uses
- expanded memory, then we must test whether the problem is due solely to
- QEMM-386 by testing another expanded memory manager. If your system has
- problems with another expanded memory manager loaded, then your program has a
- problem with expanded memory managers in general and QEMM-386 is not to blame
- for the errors you have been experiencing. If this is the case, you should
- contact the developers of that program for information on options or special
- setup considerations for use with expanded memory managers.
- You are probably running with Windows 3.x or DOS 5, both of which come
- with expanded memory managers. Windows 3.0 comes with HIMEM.SYS and
- EMM386.SYS. Both DOS 5 and Windows 3.1 come with HIMEM.SYS and EMM386.EXE.
- We will now modify your CONFIG.SYS to use these drivers instead of
- QEMM-386 and try to re-create the problem. First, make a back-up copy of the
- "clean environment" version of the CONFIG.SYS file by entering the following 3
- commands at the DOS prompt:
-
- 1) C:
- 2) CD\
- 3) COPY CONFIG.SYS CONFIG.Q
-
- We will attempt to re-create the problem by using the other drivers,
- HIMEM.SYS and EMM386.SYS (EMM386.EXE if you are using DOS 5.0 or Windows 3.1)
- which when loaded together are similar to the Extended and Expanded memory
- features of QEMM.
-
- First, you must find where these files are located on your hard disk
- (They are most likely found in the C:\DOS, C:\, C:\WINDOWS directories). Now,
- edit the CONFIG.SYS and replace the QEMM386.SYS driver with these drivers
- (ASSUME for our example that HIMEM.SYS is in the root directory and EMM386.SYS
- is in the DOS directory):
-
- DEVICE=C:\HIMEM.SYS
- DEVICE=C:\DOS\EMM386.SYS ON 4096 (EMM386.EXE for DOS 5 or Windows 3.1)
- FILES=40
- DEVICE=C:\SCAN\SCANNER.SYS 256
- SHELL=C:\COMMAND.COM /P /E:768
- DEVICE=C:\NETW\NETWORK.SYS
-
- Save the CONFIG.SYS, reboot, and try to re-create the problem.
-
- ??? If the problem still exists, then go to STEP B.
-
- ??? If the problem goes away, go to STEP 10.
-
-
- (STEP 10)
- ---------
-
- CONFIGURE QEMM-386 SIMILARLY TO THE OTHER MEMORY MANAGERS
- ---------------------------------------------------------
-
- We want to find out what the other memory managers are doing to make your
- program work properly so that we can configure QEMM-386 to emulate them. We
- must use the MANIFEST program to view what the other drivers are doing.
-
- 1) Reboot your computer to get to the DOS prompt
- 2) C:\QEMM\MFT [type this at the DOS prompt to start MANIFEST]
-
- Hit the DOWN-ARROW key once (this will give you the First Meg/Overview
- screen). The box in the center of the screen will look similar to this:
-
- Memory Area Size Description
- 0000 - 003F 1K Interrupt Area
- 0040 - 004F 0.3K BIOS Data Area
- 0050 - 006F 0.5K System Data
- 0070 - 0FB0 61K DOS
- 0FB1 - 21F8 73K Program Area
- 21F9 - 9FFF 504K [Available]
- Conventional memory ends at 640K
- A000 - AFFF 64K VGA Graphics
- B000 - B7FF 32K Unused
- B800 - BFFF 32K VGA Text
- C000 - C7FF 32K Video ROM
- C800 - CFFF 32K Unused
- D000 - DFFF 64K Page Frame <----------------------------|
- E000 - EFFF 64K Unused |
- F000 - FFFF 64K System ROM |
- |
- |
- Look for the Page Frame. We must use the QEMM-386 parameter FRAME=|
- to emulate where the Page Frame is located when using the other drivers.
- (Notice that the Page Frame above starts at D000.)
- Hit the ESCAPE key twice to exit MANIFEST and perform the following four
- commands at the DOS prompt:
-
- 1) C:
- 2) CD\
- 3) RENAME CONFIG.SYS CONFIG.M [Save the CONFIG.SYS w/other drivers]
- 4) COPY CONFIG.Q CONFIG.SYS [Bring back the STEP-9 CONFIG.SYS]
-
- Add the following parameters to the end of the QEMM386.SYS line of your
- CONFIG.SYS file:
-
- NV NVR NTR LD NX NR NRH NOVDS FRAME=XXXX
- ^^^^
- (XXXX is the starting memory area of
- the Page Frame when using the other drivers on your machine. In this EXAMPLE,
- FRAME=D000)
- The QEMM386.SYS line for this EXAMPLE now looks like:
-
- DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH
- AROM=C800-CBFF NV NVR NTR LD NX NR NRH NOVDS FRAME=D000
-
- NOTE: As before, this is all one line; do NOT hit the RETURN key when you
- reach NOSH at the end of the first line.
-
- Reboot and try to re-create the problem.
-
- ??? If the problem still exists , then go to STEP A.
-
- ??? If the problem goes away, then go to STEP 11.
-
-
- (STEP 11)
-
- CREATING HIGH RAM FOR QEMM-386
- ------------------------------
- We have properly configured QEMM-386 without High RAM to work with your
- program. We must add the RAM parameter to end of the QEMM386.SYS line in your
- CONFIG.SYS to create High RAM. Edit your CONFIG.SYS file and add RAM to the
- end of the QEMM386.SYS line (DEVICE=C:\QEMM\QEMM386.SYS ... RAM).
- Reboot your machine and try to re-create the problem.
-
- ??? If the problem recurs go to STEP 12.
-
- ??? If the problem does not occur then proceed below:
-
- In STEP 7, we added the following parameters to the QEMM386.SYS line:
- X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4. We will attempt to recover
- some/all of the HIGH Ram which we eXcluded. Edit the QEMM386.SYS line of the
- CONFIG.SYS file and delete the three parameters listed below, one at a time.
-
- X=A000-C7FF
- X=F000-FFFF
- NCF
-
- (Be sure to save the CONFIG.SYS and reboot the machine, then try to recreate
- the problem after each time you remove a parameter!) If removing any of the
- above parameters does not cause the problem to reappear, you DON'T need this
- parameter. However, if the problem does occur again, the parameter needs to be
- kept.
-
- ??? If the problem still doesn't occur and you WERE using the Stealth
- feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to
- STEP 13.
-
- ??? If the problem still doesn't occur and you WERE NOT using the Stealth
- feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to
- STEP C.
-
-
- (STEP 12)
-
- ELIMINATING HIGH RAM CONFLICTS
- ------------------------------
- It appears that there is a conflict between one of your adapters and
- QEMM-386. QEMM-386 is not recognizing that your adapter is there and QEMM-386
- is mapping memory on top of the adapter memory. We must exclude all High RAM
- areas to test this hypothesis and if indeed this is the case, we will
- systematically narrow down what area really needs to be excluded!
-
- 1) C:\QEMM\MFT [type this at the DOS prompt to start MANIFEST]
-
- Hit the DOWN-ARROW key once (this will give you the First Meg/Overview
- screen). The box in the center of the screen will look as follows:
-
- You will see a screen similar to this:
-
- Memory Area Size Description
- 0000 - 003F 1K Interrupt Area
- 0040 - 004F 0.3K BIOS Data Area
- 0050 - 006F 0.5K System Data
- 0070 - 0FB0 61K DOS
- 0FB1 - 21F8 73K Program Area
- 21F9 - 9FFF 504K [Available]
- Conventional memory ends at 640K
- A000 - AFFF 64K VGA Graphics
- B000 - B7FF 32K Unused
- B800 - BFFF 32K VGA Text
- C000 - C7FF 32K Video ROM
- C800 - CFFF 32K High RAM <------------|
- D000 - DFFF 64K Page Frame |
- E000 - EFFF 64K High RAM <------------|
- F000 - FFFF 64K System ROM |
- |
- We want to eXclude all High RAM areas! -------|
-
- We do this by using the EXCLUDE= (X= for short) parameter to QEMM-386.
- For this example, we have two High RAM areas to exclude: from C800-CFFF and
- E000-EFFF. The corresponding parameters to ADD to end of the QEMM386.SYS line
- in the CONFIG.SYS file would be:
-
- X=C800-CFFF X=E000-EFFF
-
- Add as many X= parameters as needed to your CONFIG.SYS to exclude as many
- High RAM areas that your machine has.
- Reboot your machine and try to re-create the problem.
-
- ??? If the problem occurs, then go to STEP A.
-
- ??? If the problem goes away, then we know there was a memory conflict and we
- should now try to narrow down which address range in High RAM has been
- causing the conflict. This will allow you to get back as much High RAM
- as possible! Often when there is a conflict in memory, there is a 16K
- area that needs to be excluded and we should now narrow down the
- eXclusion of High RAM areas in question. EXAMPLE: We have excluded
- C800-CFFF which is a 32K area and E000-EFFF which is a 64K area. These
- numbers are in hexadecimal (base 16) and may confuse you! (You can
- access a technnote on hexadecimal numbers by calling our Q/FAX line,
- (310)-314-3214 to download technote number 190 to your own fax machine.)
- These 2 areas use 6 different 16K areas: C800-CBFF, CC00-CFFF, E000-
- E3FF, E400-E7FF, E800- EBFF, EC00-EFFF. To narrow down the area, we
- would use the X= parameter, trying all six combinations, one at a time.
- More than likely, five out of the six combinations will cause the problem
- to occur, but one out of the six will resolve the problem.
-
- The process of actually discovering the address range in High RAM you
- must exclude to avoid conflicts, rather than relying on tedious trial and
- error, is further explained in the Quarterdeck technote EXCLUDE.TEC. [The
- above information is adequate enough to resolve your conflicts; however, the
- technote will further explain the procedures for those wishing to obtain more
- information on the topic.] Please go to Appendix A at the end of this
- technote if you wish to obtain EXCLUDE.TEC (COMPUSERVE file name is EXCLUD.ZIP
- or QFAX#219).
-
-
- ??? When you have determined which area needed to be excluded, and you WERE
- using the Stealth feature (ST:M or ST:F) from QEMM-386 version 6.00 or
- greater, then go to STEP 13.
-
- ??? When you have determined which area needed to be excluded, and you WERE
- NOT using the Stealth feature (ST:M or ST:F) from QEMM-386 version 6.00
- or greater, then go to STEP C.
-
-
- (STEP 13)
-
- ADDING THE STEALTH PARAMETER BACK
- ---------------------------------
- We have properly configured QEMM-386 with High RAM to work with your
- program. We must now add the Stealth (and any Stealth-related) parameter to
- the end of the QEMM386.SYS line in your CONFIG.SYS to enable Stealth. Edit
- your CONFIG.SYS file and add ST:M or ST:F (and any Stealth-related parameter
- that was ORIGINALLY on your QEMM386.SYS line) to the end of the QEMM386.SYS
- line:
-
- DEVICE=C:\QEMM\QEMM386.SYS ... RAM ST:x [possibly other Stealth parameters].
-
- Reboot your machine and try to re-create the crash.
-
- ??? If the problem still doesn't occur, then go to STEP C.
-
- ??? If the problem recurs, then your program's problem is due to a
- conflict with QEMM-386's Stealth feature. NOW, the next step FOR YOU is
- to leave this technote (for now) and get the technote STEALTH.TEC to
- resolve the Stealth conflict.
-
- Information on obtaining the STEALTH.TEC technote (CompuServe file name
- is STEALT.ZIP; QFAX document number is 205) is provided in Appendix A at
- the end of this technote.
-
- Once you have resolved the Stealth-related problem with the current
- CONFIG.SYS, please go to STEP C.
- ------------------------------------------------------------------------
-
- (STEP A)
- --------
- The problem you are having requires further troubleshooting techniques
- and investigation. Call our Technical Support line at (310) 392-9701 for
- further assistance -- we'll be happy to help out!
-
- When you call, please have the following files available:
-
- * Your original CONFIG.SYS and AUTOEXEC.BAT files
- * 2-line CONFIG.SYS (QEMM386.SYS and FILES=xx ONLY)
- * 2-line AUTOEXEC.BAT (PATH and PROMPT ONLY)
- * CONFIG.Q (only if you have gone thru STEP 9)
- * CONFIG.M (only if you have gone thru STEP 10)
-
- Be sure to mention that you have been using QEMMFLOW.TEC.
-
-
- (STEP B)
- --------
- We have shown that the program in question has problems EVEN WHEN QEMM-
- 386 IS NOT LOADED ON YOUR MACHINE. Therefore QEMM-386 is not responsible for
- the problems you are experiencing. The next step is for you to consult the
- documentation or contact the makers of the software or hardware which is
- having the problem(s).
-
-
- (STEP C)
- --------
- CONGRATULATIONS, you have successfully configured QEMM-386 and your
- program to work together! Enter the following 6 commands at the DOS prompt:
-
- 1) C:
- 2) CD\
- 3) RENAME AUTOEXEC.BAT AUTOEXEC.Q
- 4) COPY CONFIG.SYS CONFIG.Q
- 5) COPY CONFIG.OLD CONFIG.SYS [Bring back your original file]
- 6) COPY AUTOEXEC.OLD AUTOEXEC.BAT [Bring back your original file]
-
- Edit the CONFIG.SYS file and replace the original QEMM386.SYS line with
- the one you have created by using this technote (now in CONFIG.Q) and make
- sure FILES= at least 40!
- Reboot the machine and try to re-create the problem.
-
- ??? If the problem is still no longer occurring, the problem is solved!
-
- ??? If the problem now occurs, then go to STEP D.
-
-
- (STEP D)
- --------
- Since the problem does not occur with the stripped down CONFIG.SYS and
- AUTOEXEC.BAT but does occur with a full CONFIG.SYS and AUTOEXEC.BAT file,
- there is a command line in one of these files that has been causing the
- problem. To determine which file the command line is in, we will bring back
- the AUTOEXEC.BAT (Path and Prompt) that we previously created in STEP 6:
-
- Enter the following 4 commands at the DOS prompt:
-
- 1) C:
- 2) CD\
- 3) COPY AUTOEXEC.BAT AUTOEXEC.OLD
- 4) COPY AUTOEXEC.Q AUTOEXEC.BAT
-
- Reboot your machine and try to re-create the problem.
-
- ??? If the problem still exists, then we know that the command line which
- is giving us problems is located in the CONFIG.SYS file and if the
- problem goes away, the command line is in the original AUTOEXEC.BAT
- file.
-
- Now you must systematically determine which command line is giving you
- trouble! Try deleting one line at a time (if you have a long CONFIG.SYS or
- AUTOEXEC.BAT file try deleting 2-3 lines at a time) until you find out which
- line is causing the problem.
- When you finally determine which line is causing the problem:
-
- 1) If the device driver or TSR is loaded into High RAM, use the procedure
- in STEP 6 to load it low and see if this corrects the problem.
- 2) Read the manual or call the technical support line for the product
- which you are loading to determine where the problem might lie.
- 3) If a TSR or device driver has a parameter that tells it to load/use
- XMS or EMS, then have it load/use conventional memory instead.
- 4) Refer to your DOS manual to determine DOS command problems.
- 5) JUST GET RID OF THAT LINE! The line causing the problem may be issuing
- a command that you really don't need anyway.
-
-
- (APPENDIX - A)
- OBTAINING QUARTERDECK TECHNOTES
- -------------------------------
- There are five ways to obtain Quarterdeck technotes:
- 1) On CompuServe [GO QUARTERDECK, Library 2]. Download the CompuServe file
- name.
- 2) On BIX [JOIN DESQVIEW, LISTINGS]. Download the TECHNOTE file name.
- 3) On the Quarterdeck BBS [310-314-3227]. Download the TECHNOTE file name.
- 4) On the Quarterdeck Q/FAX [310-314-3214]. Download the QFAX# (Q/FAX will
- automatically fax the technote back to your fax machine instantly!).
- 5) Call Quarterdeck Technical Support [310-392-9701] and we will gladly
- fax/mail it to you.
-
- ************************************************************************
- * Trademarks are property of their respective owners. *
- *This technical note may be copied and distributed freely as long as it*
- *is distributed in its entirety and it is not distributed for profit. *
- * Copyright (C) 1992 by Quarterdeck Office Systems *
- ************************ E N D O F F I L E *************************
-